The present invention relates generally to the area of information processing and, more particularly, apparatus and methods for mapping or translating information from one data set to another.
Successful management of one""s schedule and contacts is a goal that every successful professional must achieve. One""s business day may be swept away in a deluge of meetings and appointments, all of which must be somehow managed. An attempt to manage this task on paper, such as with a simple wall calendar, is unworkable for all but the simplest of schedules. More likely, such unsophisticated aids to managing one""s time will lead to scheduling conflicts, missed appointments, botched deadlines, and angry clients.
The first allies that professionals discovered were portable xe2x80x9corganizers,xe2x80x9d such as the Day Timer(trademark) or the Lafax(trademark). However, an increasing number are discovering the power of personal computers for managing appointments, contacts, and xe2x80x9cto doxe2x80x9d tasks. For instance, several scheduling packages are available for the PC. While not as portable as paper organizers, scheduling packages offer increased flexibility in other areas. For example, one may view his or her schedule from a variety of viewsxe2x80x94by month, week, day, or priorityxe2x80x94and attach detailed notes to appointments. Additional options available include the ability to automatically schedule a meeting for the first Monday of every other month, or display horizontal bars which graphically represent one""s weekly schedule, so that free time can be quickly pinpointed. Other options include the ability to easily edit an entry, and set alarms as a reminder of important appointments.
With ever increasing emphasis on miniaturization and portability, several of the features of personal information management (PIM) packages may now be found in handheld information processing devices, such as the Sharp Wizard(trademark), REX(trademark), Casio BOSS(trademark), and Palm Pilot(trademark). Being roughly the size of a handheld calculator, these electronic organizers are often carried when one is away from the office. As a tradeoff for portability, however, these devices typically forego several of the more desirable features found on desktop personal computers (e.g., full color graphics display). As a result, it is common for a professional to employ a personal computer to manage his or her time, yet carry a portable organizer when he or she is away from the office. Upon returning to the office, the information in the personal computer is then updated with the new information in the portable organizer.
Updating or reconciling two sets of information, whether between a PC and an organizer, or between two computers joined by a communication network, has never been easy. The reconciliation of user scheduling and contact information has been particularly difficult. A particular problem faced by a user of information management programs is the difficulty of translating or mapping data fields from one device to those of another. Consider, for instance, a user device having the following source data fields:
First Name
Last Name
Street Address 1
Street Address 2
City
State
Zip Code
Phone
FAX
Now, suppose the user also has a portable device with the following destination data fields:
First
Last
Home Address 1
Home Address 2
Home City
Home State
Home ZIP
Telephone
Telephone 2
As it can be seen, some of the fields are identical, others are somewhat similar, and finally still others are completely different.
A conventional approach to mapping fields between two devices is to display a user interface dialogue allowing the user to select pairs of fields. In such an approach, fields which are identical are already selected by the system, thereby leaving the user with some number of remaining fields to pair up. Such an approach works reasonably well if only a small number of fields are involved. Often, however, each set of data fields comprise a multitude of fields, hence making it very inconvenient for the user to manually match or pair up fields which are not identical, or at least very similar. A better approach is therefore desired.
What is needed is a system which allows a user of an information processing device to readily map or translate user information, such as user-supplied contact lists, from one data set on one device into another data set, either on the same device or on another device. The present invention fulfills this and other needs.
Computers have found a variety of applications for the management of one""s time, including tracking meetings and appointments. With increased availability of portable information processing devices, many of the scheduling features found on personal computers are now available with handheld electronic organizers. Because handheld organizers sacrifice features for portability, professionals will often manage their time at the office with a personal computer, reserving the portable for when they are away. Upon returning to the office, however, one must reconcile the information stored in the portable with that already present in the personal computer. Often, there is a need to translate or map data fields from one device to those of another.
According to the present invention, improved rule-based methodology in a data processing environment is provided supporting automatic matching of data fields between different data sets, thus allowing the task of mapping fields from one data set to another to be entirely automated. If a field cannot be matched based on name alone (e.g., an identical match), the methodology of the present invention employs rules to determine a type for the field, based on the field""s name. The determined type of the field is then used for matching. In this manner, the methodology can be employed to match fields which appear dissimilar phonetically but are otherwise appropriate for matching.
In the currently-preferred embodiment, rules are stated in the form of:
regular expression=type
Here, the regular expression member lists the text strings or substring(s) for the field. To support substring matching, the regular expression may contain *,  less than ,  greater than  and ? characters, where xe2x80x9c*xe2x80x9d matches any string, xe2x80x9c less than xe2x80x9d and xe2x80x9c greater than xe2x80x9d match the beginning and ending of a word, respectively, and xe2x80x9c?xe2x80x9d matches any character, with matching being performed in a case insensitive manner. The type member consists of four or fewer characters (e.g., xe2x80x9cnamexe2x80x9d for a name type), optionally preceded by a xe2x80x9cxe2x88x92xe2x80x9d character for indicating a xe2x80x9cnegativexe2x80x9d type. A negative type indicates that the system should not map more than one field to a given field. The rules are ordered in descending preference according to the likelihood that a given rule will correctly identify a field. Alternatively, the rules may be ordered according to other desired criteria, or may be entirely unordered (i.e., a simple list).
A preferred user interface for mapping data fields from one device (e.g., desktop PC) to another (e.g., REX(trademark) hand held device) is also provided. In accordance with the present invention, an exemplary system includes a TrueSync(trademark) Wizard panel providing a xe2x80x9cSmartMapxe2x80x9dxe2x80x94that is, a mechanism whereby the system automatically detects and sets up mappings for each cardfile that the user selected to synchronize. By default, the system has already xe2x80x9csmart mappedxe2x80x9d the fields from source to destination. The user can override this mapping, as desired. If the user changes the default mappings and then want to restore them, he or she just clicks a SmartMap button. If preferred, the user can choose his or her own mappings by selecting a field in each column and clicking a Map button, or by clicking a field in the left column and then double-clicking a field in the right column to map it. To remove all mappings, the user clicks a Clear All Mappings button. To remove a particular field mapping, the user clicks a field in each column and then clicks an Unmap button.
After configuring the mapping, the user selects a Synchronize button, whereupon the system performs synchronization between two devices, according to the configuration information defined by the user. Data from source data fields is mapped according to the established mapping to corresponding data fields in the destination data set, with synchronization performed by the system.